package ExtendsDetail;

public class Base {
    //4个属性
    public int n1 = 100;
    protected int n2 = 200;
    int n3 = 300;
    private int n4 = 400;

    //定义有参构造器后，默认的无参构造器就被覆盖
    public Base() {//无参构造器
        super(); //默认调用父类的无参构造器
        System.out.println("父类无参构造器被调用base()....");
    }

    public Base(String name, int age) {//有参构造器
        System.out.println("父类的有参构造器String name, int age被调用...");
    }

    public Base(String name) {
        System.out.println("父类的有参构造器String name被调用...");
    }

    public void test100() {
        System.out.println("test100");
    }

    protected void test200() {
        System.out.println("test200");
    }

    void test300() {
        System.out.println("test300");
    }

    private void test400() {
        System.out.println("test400");
    }

    public int getN4() {
        return n4;
    }

    public void callTest400() {
        test400();
    }
}
